<ui:composition template="/WEB-INF/templates/layout.xhtml"
                xmlns="http://www.w3.org/1999/xhtml"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:p="http://primefaces.org/ui"
                >
    <ui:define name="content">
        <h:form id="formmov">
            <p:growl autoUpdate="true"/>
            <p:panel header="Movimientos">
                <p:tabView id="tabView"  dynamic="false">
                    <p:tab id="tba" title="Registro">
                        <h:panelGrid columns="4" id="idmovpanel">
                            <p:outputLabel value="Fecha" for="movfecha"/>
                            <p:outputPanel>
                                <p:calendar size="35" value="#{movimientoController.movimiento.fecha}" mode="popup" navigator="true" showButtonPanel="true" showOn="button" id="movfecha" required="true" requiredMessage='El campo "Fecha" es requerido'/>
                                <p:watermark for="movfecha" value="dd/mm/aa" /> 
                            </p:outputPanel>
                            <p:outputLabel value="Concepto" for="movconcepto"/>
                            <p:inputTextarea maxlength="500" autoResize="false" style="width: 240px" value="#{movimientoController.movimiento.concepto}" required="true"   id="movconcepto" requiredMessage='El campo "Concepto" es requierido' />
                            <h:outputText value="Excluir" />  
                            <p:selectBooleanCheckbox  value="#{movimientoController.movimiento.excluir}"/>  
                            <p:outputLabel  value="Documento" for="movdoc"/>
                            <p:inputText maxlength="15" size="35" value="#{movimientoController.movimiento.documento}" id="movdoc" required="true" requiredMessage='El campo "Documento" es requerido'/>
                            <p:outputLabel  value="Debe" for="movdebe"/>
                            <p:inputMask maxlength="5" mask="9?999999999999999" placeHolder="" size="35" value="#{movimientoController.movimiento.debe}" id="movdebe" />
                            <p:outputLabel  value="Haber" for="movhaber"/>
                            <p:inputMask maxlength="5" mask="9?999999999999999" placeHolder="" size="35" value="#{movimientoController.movimiento.haber}" id="movhaber" required="true" requiredMessage='El campo "Haber" es requerido'/>
                            <p:outputLabel  value="IVA" for="moviva"/>
                            <p:inputMask maxlength="5" mask="9?999999999999999" placeHolder="" size="35" value="#{movimientoController.movimiento.iva}" id="moviva" required="true" requiredMessage='El campo "IVA" es requerido'>
                                <p:ajax event="keyup" process="movhaber moviva" update="movimpiva"></p:ajax>
                            </p:inputMask>

                            <h:outputText  value="Imp IVA" />
                            <h:outputText id="movimpiva" value="#{movimientoController.movimiento.haber * movimientoController.movimiento.iva / 100}" />  

                            <p:outputLabel  value="B/C" for="movbc"/>
                            <p:inputMask maxlength="5" mask="9?999999999999999" placeHolder="" size="35" value="#{movimientoController.movimiento.bc}" id="movbc" required="true" requiredMessage='El campo "B/C" es requerido'/>

                            <h:outputText   />
                            <h:outputText  value="#{movimientoController.movimiento.total}" id="movtotal" />  

                            <p:commandButton value="Guardar" process="@this movfecha movconcepto  movdoc movdebe movhaber moviva movimpiva movbc" actionListener="#{movimientoController.save()}" update="idmovpanel idtablemov"/>
                            <p:commandButton value="Cancelar" process="@this" actionListener="#{movimientoController.init()}" />
                        </h:panelGrid>
                        <p:panel  header="Lista de Movimientos">
                            <h:panelGrid columns="7">
                                <h:inputText id="idbuscarmov" value="#{movimientoController.valorBusqueda}"/>
                                <p:watermark for="idbuscarmov" value="Digite Apunte" /> 
                                <p:calendar mode="popup" navigator="true" showButtonPanel="true" showOn="button" value="#{movimientoController.fechaI}"  id="fechadesde" />
                                <p:watermark for="fechadesde" value="Fecha Desde(dd/mm/aa)" /> 
                                <p:calendar mode="popup" navigator="true" showButtonPanel="true" showOn="button" value="#{movimientoController.fechaF}"  id="fechahasta" />
                                <p:watermark for="fechahasta" value="Fecha Hasta(dd/mm/aa)" /> 
                                <p:commandButton process="fechadesde fechahasta idbuscarmov @this" value="Buscar" update="idtablemov" action="#{movimientoController.search()}"/>
                            </h:panelGrid>
                            <p:dataTable id="idtablemov" paginator="true" rows="5" paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" rowsPerPageTemplate="5,10,15" value="#{movimientoController.listaMovimiento}" var="varmov">
                                <p:column headerText="Apunte">
                                    #{varmov.id}
                                </p:column>
                                <p:column headerText="Fecha">
                                    #{movimientoController.formatFecha(varmov.fecha)}
                                </p:column>
                                <p:column headerText="Concepto">
                                    #{varmov.concepto}
                                </p:column>
                                <p:column headerText="Documento">
                                    #{varmov.documento}
                                </p:column>
                                <p:column headerText="Debe">
                                    #{varmov.debe}
                                </p:column>
                                <p:column headerText="Haber">
                                    #{varmov.haber}
                                </p:column>
                                <p:column headerText="IVA">
                                    #{varmov.iva}
                                </p:column>
                                <p:column headerText="Imp IVA">
                                    #{varmov.impIVA}
                                </p:column>
                                <p:column headerText="B/C">
                                    #{varmov.bc}
                                </p:column>
                                <p:column headerText="Total">
                                    #{varmov.total}
                                </p:column>
                                <p:column headerText="Imprimir">
                                    <p:commandButton immediate="true" icon="ui-icon-circle-check" action="#{movimientoController.prueba(varmov.id,varmov.fecha,varmov.fecha)}" />
                                    <p:commandButton immediate="true" process="fechadesde fechahasta idbuscarmov @this" id="downloadLink" value="Descargar" ajax="false" onclick="PrimeFaces.monitorDownload(start, stop)"   
                                                     icon="ui-icon-circle-arrow-s">  
                                        <p:fileDownload value="#{movimientoController.dc}" />  
                                    </p:commandButton> 
                                </p:column>
                            </p:dataTable>
                        </p:panel>
                    </p:tab>
                </p:tabView> 
            </p:panel>
        </h:form>
    </ui:define>
</ui:composition>